// var DEMJSON_RETURN_TYPE_ARRAY = [
//     ['字符串', 'STRING'],
//     ['数值', 'NUMBER'],
//     ['JSON', 'JSON'],
// ];

Blockly.Blocks['demjson_package'] = {
    init: function() {
        this.appendDummyInput()
            .appendField('导入 demjson 包为');
        this.setOutput(false);
        this.setColour('%{BKY_DEMJSON_HUE}');
        this.setNextStatement(true);
        this.setPreviousStatement(true);
        this.setTooltip('加载demjson包');
        this.setHelpUrl('');
    }
};

Blockly.Blocks['demjson_create'] = {
    init: function() {
        this.appendDummyInput()
            .appendField('创建 空JSON对象');
        this.setOutput(true, 'DEMJSON');
        this.setColour('%{BKY_DEMJSON_HUE}');
        this.setTooltip('创建空的JSON对象');
        this.setHelpUrl('');
    }
};

Blockly.Blocks['demjson_decode'] = {
    init: function() {
        this.appendValueInput('STRING')
            .setCheck('String')
            .appendField('创建 JSON对象从字符串 ');
        this.setOutput(true, 'DEMJSON');
        this.setColour('%{BKY_DEMJSON_HUE}');
        this.setTooltip('将字符串解码为JSON对象');
        this.setHelpUrl('');
    }
};

Blockly.Blocks['demjson_encode'] = {
    init: function() {
        this.appendValueInput('JSON')
            .setCheck('DEMJSON')
            .appendField('创建 文本从JSON对象 ');
        this.setOutput(true, 'String');
        this.setColour('%{BKY_DEMJSON_HUE}');
        this.setTooltip('将JSON对象转变为字符串');
        this.setHelpUrl('');
    }
};

Blockly.Blocks['demjson_get'] = {
    init: function() {
        this.appendValueInput('JSON')
            .setCheck('DEMJSON')
            .appendField('获取 属性值 从JSON对象 ');
        this.appendValueInput('PROPERTY')
            .setCheck('String')
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField('属性 ');
        this.setOutput(true);
        this.setColour('%{BKY_DEMJSON_HUE}');
        this.setTooltip('获得JSON对象中的属性值');
        this.setHelpUrl('');
    }
};

Blockly.Blocks['demjson_set'] = {
    init: function() {
        this.appendValueInput('JSON')
            .setCheck('DEMJSON')
            .appendField('设置 属性值 向JSON对象 ');
        this.appendValueInput('PROPERTY')
            .setCheck('String')
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField('属性 ');
        this.appendValueInput('VALUE')
            .setAlign(Blockly.ALIGN_RIGHT)
            .appendField('值 ');
        this.setOutput(false);
        this.setPreviousStatement(true);
        this.setNextStatement(true);
        this.setColour('%{BKY_DEMJSON_HUE}');
        this.setTooltip('设置JSON对象中的属性值');
        this.setHelpUrl('');
    }
};